Since the Internet has widely been used by general users (individual, public, companies, government offices, or the like), many users have accessed the Internet over phone lines of slow connections. With the recent development of environment for access to the Internet, various high-speed broadband lines called broadband connections, such as ADSL (Asymmetric Digital Subscriber Line), CATV (Cable Television or Communication Antenna Television), or optical access, are getting available for users. As a result, the volume of packets transferred over networks (traffic or traffic volume) increases dramatically, comparing with traffic over networks using the conventional art.
One of the main causes of the traffic increase is that the importance of the Internet as an infrastructure has increased, so that companies, government offices or the like provide clients etc., with various service information such as entertainment, public services or the like.
Further, as the use of the Internet has been expanded, high quality networks are required. The criteria indicating the quality of a network is, for example, transmission delay and transmission band. Network operators are trying to reduce packet delay time and to ensure the contract band. Therefore, in many networks, a function of observing (monitoring) loads of the network itself is provided so as to try to avoid convergence, packet delay, packet disposition, and the like.
With such an increase in the traffic, loads placed on the networks become heavier, so that loads placed on delivery servers for delivering or supplying contents such as images to users over the networks also increase. The increase in the loads causes packet transmission delay, packet disposition and the like in the networks, and also causes overloads in delivery servers due to an increase in content delivery request messages for content data (transfer requests, transfer request packets, and transfer request messages, hereinafter referred to as “delivery requests” unless otherwise noted) provided to the delivery servers. Thereby, such a phenomenon as a deterioration in the quality of service (QoS) has been caused frequently. The quality of service indicates a comprehensive effect provided by various service performances which determine the satisfaction of the users receiving the services. Specifically, it is a technique for controlling communication quality (transmission delay, transmission band and the like).
Conventionally, the bottleneck in using the Internet was accessing parts between client devices (user terminals) and the Internet. However, since the access speed has been improved, the bottleneck lies in the inner parts (core) of networks or delivery servers for delivering contents, recently.
Accordingly, it is requested to provide means or mechanisms for balancing loads on the networks and the delivery servers. Two exemplary approaches to this request will be explained.
A first approach is to use a content delivery network (CDN). The CDN is a network used by providers such as telephone companies to perform delivering services of files such as Web contents to the users.
Note that a content may be digital data such as music, audio, a picture, a still image and a moving image, and a video, and contents may be editions of the digital data. However, all such data will be referred to as contents hereinafter, without distinguishing a content and contents, unless otherwise noted. Contents will be described on the premise that they mean Web contents, video delivery or music files, for example.
Further, as an example of a delivery service, a streaming delivery (stream delivery) is known.
A streaming delivery is a delivering system in which a server for delivering contents (hereinafter referred to as a delivery server) divides moving image file data into plural pieces, and delivers the divided pieces of file data to a user in plural times. The user playbacks each of the divided pieces of file data each time he/she receives it. With this system, the user does not need to wait for a moving image file data such as video to be downloaded completely, and even in a case of a line failure, moving images can be played back for pieces of the file data which have already been received.
Since a large volume of file data is transmitted/received in the streaming delivery, in the CDN, delivery servers are not located at specific places on the network but are located at places near client terminals so as to distribute the load.
FIG. 15 is a constitution diagram showing the CDN for the streaming delivery. An original server 130 shown in FIG. 15 retains a moving image file (original file). When the original server 130 receives a streaming delivery request from, for example, a client device 80a among client devices 80a-80c, the original server 130 temporarily transfers the moving image file to a cache server 81a provided near the client device 80a, and then the cache server 81a delivers in a stream the moving image file to the client device 80a. Next, when the original server 130 or the cache server 81a receives a streaming delivery request of the same content from the client device 80a, the moving image file is directly delivered from the cache server 81a to the client device 80a. Further, the original server 130 may transfer the content in advance to all cache servers 81a-81c in the CDN 140.
With this system, the load concentration on the original server 130 can be avoided, and deterioration in the quality due to packet transfer delay can be avoided as well.
Here, respective delivery paths for content delivery and streaming delivery are calculated considering the costs (load states). The costs usually include a link cost indicating the load state between adjacent two routers (adjacent routers) among a plurality of routers in the network, and a network cost indicating the load state of a part or the whole of the network. In the following description, a load state means a load and volume showing the load, unless otherwise noted.
The adjacent routers are connected to each other via a transmission path, to which a prescribed transmission band (pass band) is set. With such transmission path and transmission band, a link is established. Since the load state of the link is determined based on the allowable transmission volume and the actual packet transmission volume, an individual load state of each link is observed as a link cost. Respective link costs are added, and observed as the network cost.
Further, a delivery path is calculated by using Dijkstra algorithm. Dijkstra algorithm is for calculating the cost between two desired routers in the network, and searching for a delivery path having a minimum cost value among the costs obtained by adding respective costs calculated, based on the cost between a desired router and an adjacent router thereto in the CDN 140, and on the cost between the desired router and a router not adjacent thereto.
In an example of this cost, the inverse number of the link utilization (band utilization) or the inverse number of the link free band is used as a parameter. When using such an inverse number, the link free band between adjacent routers becomes larger as the cost is reduced. Therefore, the minimum cost delivery path obtained by the Dijkstra calculation shows a delivery path having the largest free band in the CDN 140. A calculation method using the link utilization is proposed by the inventors of the present invention. A path (delivery path) selecting method of a communication network described in a patent document 1 described below is a method in which traffic received at an input side node is equally sorted into a plurality of paths in units of communication elements to be transferred. Thereby, it is possible to balance the load on each link, and also to prevent the sequence of packets transmitted from the same client device from being reversed at the output side node.
Next, a second approach to the load balancing is that a plurality of delivery servers within a network share processing of a transfer request from a client device so as to reduce the load placed on one delivery server (global delivery server load balancing system).
FIG. 16 is a diagram for explaining the global delivery server load balancing system. Both delivery servers 150a, 150b shown in FIG. 16 retain the same contents. Here, if the delivery servers 150a, 150b are provided apart from client devices 80d, 80e, a router 90a communicating with the client devices 80d, 80e is so configured to receive load information of each of the delivery servers 150a, 150b via routers 90b, 90c from the delivery servers 150a, 150b themselves in advance or upon reception of a transfer request from the client device 80d, 80e, and distribute the transfer request to either the delivery server 150a or the delivery server 150b with the lower load.
The global delivery server load balancing system is performed associating with DNS (Domain Name System) which is a system for converting host names of the delivery servers 150a, 150b to actual IP addresses (hereinafter abbreviated as address, unless otherwise noted). In the global delivery server load balancing system, typical delivery paths according to a routing table determined by the router is used as the delivery paths in the network.
Patent Document 1: Japanese Patent Application Laid-Open No. 2001-144804.
However, the CDN 140 (see FIG. 15), for example, is subject to quality deterioration when delivery requests from the client devices 80a-80c concentrate on temporarily popular contents such as movies. In the CDN 140 for load balancing, when delivery requests concentrate on the cache server 81a whereby a high load is placed thereon, there is caused a problem that the streaming quality of a cache server near the client device 80a deteriorates.
Further, in the global delivery server load balancing system for load balancing, delivery paths are set without considering the costs and delay time of the network. Accordingly, when the load placed on the network increases, the content quality to be delivered may be deteriorated although the loads on the delivery servers 150a, 150b are not high, and there is a problem that this probability cannot be eliminated.